home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1996 Christmas / macformat-045.iso / Shareware Plus / Developers / NGL1.5.0E(fat)DEMO / Button Sample(PPC) / Button_Sample.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-19  |  3.1 KB  |  124 lines  |  [TEXT/CWIE]

  1. /*============================================================
  2.  
  3.                     N_Number sample program
  4.                     
  5. ============================================================*/
  6.  
  7. #include    "N_Library.h"
  8.  
  9. WindowPtr     CreateWindow         (Str255 name);
  10.  
  11.  
  12. #define        WindowSizeX        640
  13. #define        WindowSizeY        480
  14.  
  15. short        NewWindowX;
  16. short        NewWindowY;
  17.  
  18. short        Data_Rsrc = 0;
  19.  
  20. short        Snd_List0[]     = {1000,1001,0};
  21.  
  22. long        counter1         = 2000;                                        //counter
  23. long        counter2         = 2000;
  24. long        counter3         = 2000;
  25.  
  26.  
  27. void main(void)
  28. {
  29.     WindowPtr    window;
  30.     short        bt;
  31.  
  32.     ToolboxInit();
  33.     ColorCheck();
  34.     window = CreateWindow("\pN Game Library <Button Sample>");
  35.     N_Window_Set(window,NewWindowX,NewWindowY,WindowSizeX,WindowSizeY);            //set up window
  36.     Open_Resource_File(128,1,&Data_Rsrc);
  37.     N_Pict_Draw(128,0,0,(GrafPtr)Main_Window,false);
  38.     N_Pict_Draw(128,0,0,(GrafPtr)Main_Window,true);                                //draw background
  39.     
  40.     N_Button_Init();                                                            //initialize button set
  41.     N_Font_Init();
  42.     N_Sprite_Set(129,0,14,24,1,11,1,0);                                            //set 11sprites (Sp 0 - 10)for number 
  43.     N_Sprite_Set(130,11,32,32,1,6,1,0);                                            //set 6sprites  (Sp 11 - 16)for button
  44.  
  45.     N_Sound_Load(&Snd_List0[0]);    
  46.  
  47.     N_Font_Set(0,0,0,0,0);                                                        //initialize font set
  48.     Close_Resource_File(&Data_Rsrc);
  49.  
  50.     N_Button_Set(0,0,0,40,410,0,11,12,1000,1001);                                    //set up buttons
  51.     N_Button_Set(0,1,0,80,410,0,13,14,1000,1001);
  52.  
  53.     N_Button_Set(0,2,0,160,410,40,11,12,1000,1001);
  54.     N_Button_Set(0,3,0,200,410,40,13,14,1000,1001);
  55.  
  56.     N_Button_Set(0,4,0,280,410,512,11,12,1000,1001);
  57.     N_Button_Set(0,5,0,320,410,512,13,14,1000,1001);
  58.  
  59.     N_Button_Set(0,6,0,410,410,513,15,16,1000,1001);
  60.     N_Button_Set(0,7,0,470,410,514,15,16,1000,1001);
  61.  
  62.     N_Button_Set(0,8,0,562,410,512,15,16,1000,1001);                                //set Quit button
  63.     N_Button_Put(0);
  64.  
  65.     N_Num_Put(counter1,30,320,5,16,0,0,0);                                        //put counters
  66.     N_Num_Put(counter2,150,320,5,16,0,0,0);
  67.     N_Num_Put(counter3,270,320,5,16,0,0,0);
  68.     
  69.     do
  70.     {
  71.         bt = N_Button_Check(0);
  72.     
  73.         if (bt == 1) counter1++;
  74.         if (bt == 3) counter2++;
  75.         if (bt == 5) counter3++;
  76.  
  77.         if (counter1 == 10000) counter1 = 0;
  78.         if (counter2 == 10000) counter2 = 0;
  79.         if (counter3 == 10000) counter3 = 0;
  80.     
  81.         if (bt == 0) counter1--;
  82.         if (bt == 2) counter2--;
  83.         if (bt == 4) counter3--;
  84.     
  85.         if (counter1 == -1) counter1 = 9999;
  86.         if (counter2 == -1) counter2 = 9999;
  87.         if (counter3 == -1) counter3 = 9999;
  88.     
  89.         if(bt != -1)
  90.         {
  91.             N_Num_Put(counter1,30,320,5,16,0,0,0);                                //updates counters
  92.             N_Num_Put(counter2,150,320,5,16,0,0,0);
  93.             N_Num_Put(counter3,270,320,5,16,0,0,0);
  94.         }
  95.     
  96.     }
  97.     while (bt != 8);                                                                //push quit button?
  98.     N_Sound_Close();                                                            //close sound channels
  99.     ColorRevert();
  100. }
  101.  
  102.  
  103.  
  104. WindowPtr CreateWindow (Str255 name)
  105. {
  106.     WindowPtr    window;
  107.     short        centerX,centerY;
  108.     short        windowWidth,windowHeight;
  109.  
  110.  
  111.     window = GetNewWindow (128,nil,(WindowPtr)-1L );
  112.     centerX  = (qd.screenBits.bounds.right -qd.screenBits.bounds.left)/2;
  113.     centerY  = (qd.screenBits.bounds.bottom -qd.screenBits.bounds.top)/2;
  114.     SetWTitle(window,name);
  115.     MoveWindow(window,NewWindowX=centerX-(WindowSizeX/2),NewWindowY=centerY-(WindowSizeY/2),false);
  116.     SizeWindow(window,WindowSizeX,WindowSizeY,TRUE);
  117.  
  118.     ShowWindow(window);
  119.     SetPort((GrafPtr)window );
  120.     return (WindowPtr)window;
  121. }
  122.     
  123.  
  124.